<HTML>
<HEAD>
<TITLE>TextRange.compareBoundaryPoints() Method</TITLE>
<STYLE TYPE="text/css">
TD {text-align:center}
.propName {font-family:Courier, monospace}
#fixedRangeElem {color:red; font-weight:bold}
</STYLE>
<SCRIPT LANGUAGE="JavaScript">
var fixedRange

function setAndShowRangeData() {
    try {
        var selectedRange = window.getSelection()
        selectedRange = selectedRange.getRangeAt(0)
        var result1 = fixedRange.compareBoundaryPoints(Range.START_TO_END, 
        selectedRange)
        var result2 = fixedRange.compareBoundaryPoints(Range.START_TO_START, 
        selectedRange)
        var result3 = fixedRange.compareBoundaryPoints(Range.END_TO_START, 
        selectedRange)
        var result4 = fixedRange.compareBoundaryPoints(Range.END_TO_END, 
        selectedRange)
        
        document.getElementById("B1").innerHTML = result1
        document.getElementById("compare1").innerHTML = getDescription(result1)
        document.getElementById("B2").innerHTML = result2
        document.getElementById("compare2").innerHTML = getDescription(result2)
        document.getElementById("B3").innerHTML = result3
        document.getElementById("compare3").innerHTML = getDescription(result3)
        document.getElementById("B4").innerHTML = result4
        document.getElementById("compare4").innerHTML = getDescription(result4)
    } 
    catch(err) {
        alert("Kluczowe moliwoci funkcjonalne obiektu Range nie zostay 
        zaimplementowane w tej przegldarce.")
    }
}

function getDescription(comparisonValue) {
    switch (comparisonValue) {
        case -1 :
            return "znajduje si przed"
            break
        case 0 :
            return "pokrywa si z"
            break
        case 1 :
            return "znajduje si za"
            break
        default :
            return "a"    
    }
}

function init() {
    fixedRange = document.createRange()
    fixedRange.selectNodeContents(document.getElementById
    ("fixedRangeElem").firstChild)
    fixedRange.setEnd(fixedRange.endContainer, 
    fixedRange.endContainer.nodeValue.length)
}
</SCRIPT>
</HEAD>
<BODY onLoad="init()">
<H1>Metoda TextRange.compareBoundaryPoints() </H1>
<HR>
<P>Zaznacz tekst w akapicie wywietlonym u dou strony, w rnych miejscach 
wzgldem tekstu wzorcowego (wywietlonego na czerwono). Zobacz zalenoci 
pomidzy punktami pocztku i koca obu zakresw tekstowych.</P>
<TABLE ID="results" BORDER=1 CELLSPACING=2 CELLPADDING=2>
<TR><TH>Waciwo</TH><TH>Warto</TH><TH>Zakres wzorcowy w porwnaniu z 
zaznaczonym</TR>
<TR>
    <TD CLASS="propName">StartToEnd</TD>
    <TD CLASS="count" ID="B1">&nbsp;</TD>
    <TD CLASS="count" ID="C1">Pocztek zakresu wzorcowego <SPAN ID="compare1">a</SPAN> 
    kocem zaznaczonego fragmentu</TD>
</TR>
<TR>
    <TD CLASS="propName">StartToStart</TD>
    <TD CLASS="count" ID="B2">&nbsp;</TD>
    <TD CLASS="count" ID="C2">Pocztek zakresu wzorcowego <SPAN ID="compare2">a</SPAN> 
    pocztkiem zaznaczonego fragmentu</TD>
</TR>
<TR>
    <TD CLASS="propName">EndToStart</TD>
    <TD CLASS="count" ID="B3">&nbsp;</TD>
    <TD CLASS="count" ID="C3">Koniec zakresu wzorcowego <SPAN ID="compare3">a</SPAN> 
    pocztkiem zaznaczonego fragmentu</TD>
</TR>
<TR>
    <TD CLASS="propName">EndToEnd</TD>
    <TD CLASS="count" ID="B4">&nbsp;</TD>
    <TD CLASS="count" ID="C4">Koniec zakresu wzorcowego <SPAN ID="compare4">a</SPAN> 
    kocem zaznaczonego fragmentu</TD>
</TR>
</TABLE>
<HR>
<P onMouseUp="setAndShowRangeData()">
Lorem ipsum dolor sit, <SPAN ID="fixedRangeElem">consectetaur adipisicing elit</SPAN>, 
sed do eiusmod tempor incididunt ut labore et dolore aliqua. Ut enim adminim veniam, 
quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.</P>
</BODY>
</HTML>